package demo13;

public class Test {
    static{
        System.out.println("main类被加载");
    }
    public static void main(String[] args) throws ClassNotFoundException {
        //1.new对象会主动引用
        //Son son = new Son();
        //2.反射也会有主动引用
        //Class.forName("demo13.Son");
        //3.不会加载子类，即不会主动引用
        //System.out.println(Son.b);
        //4.下面的这个也不会进行主动引用
        //Son[] sons = new Son[5];
        //5.下面的这个情况只会加载mian类，其他的类都不会被加载
        //因为常量在连接阶段就已经在这个常量池里面了
        System.out.println(Son.N);
    }
}
class Father{
    static int b=2;
    static{
        System.out.println("父类正在被加载");
    }
}
class Son extends Father{
    static{
        System.out.println("子类被加载");
        M = 300;
    }
    static int M = 100;
    static final int N = 10;
}
